public class Student {
    //3.类变量：在类中用static关键字声明的变量，他们属于类而不是实例
    public static int onLineNumber = 21;

    //2.实例变量：在类中声明，但在方法、构造函数或块之外。
    //公有实例变量name对子类可见
    public String name = "小明";
    //私有实例变量age，仅在该类可见，不赋值，默认值是零
    private int age;
    //main方法，程序入口
    public static void main(String[] args) {
        //22
        Student.onLineNumber++;
        System.out.println(onLineNumber);
        Student student = new Student();
        student.run();
        student.eat("方便面");
    }

    //1.局部变量：在方法。构造函数或块内部声明的变量。
    public void run(){
        //局部变量weight，必须有初始值。
        String weight = "100斤";
        //因为实例变量age没赋值，所以默认是零。
        //小明现在零岁
        System.out.println(name+"现在"+age+"岁");
        //小明一百斤跑的很快
        System.out.println(name+weight+",跑得很快");
    }

    //4.参数变量：是方法或构造函数声明中的变量
    //参数变量food
    public void eat(String food){
        //小明喜欢吃方便面
        System.out.println(name+"喜欢吃"+food);
    }


    /**
     * 这是一个测试类
     */
    public class WuKong {
        /**
         * 角色名称
         */
        private String name;

        /**
         * 角色的速度
         */
        private String speed;

        /**
         * 角色的基础伤害
         */
        private String harm;

        /**
         * 快捷键alt+insert
         *
         * @return
         */
        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getSpeed() {
            return speed;
        }

        public void setSpeed(String speed) {
            this.speed = speed;
        }

        public String getHarm() {
            return harm;
        }

        public void setHarm(String harm) {
            this.harm = harm;
        }

        /**
         * 定身技能
         *
        public void fixation() {
            System.out.println("1. 跑到可攻击目标的面前");
            wuKongRun();
            System.out.println("2. 对怪物执行定身技能");
            wuKongHarm(2);
        }

        private void wuKongHarm(int type) {
            if (type == 1) {
                System.out.println(name + "对怪物的伤害是：" + 0);
            } else {
                System.out.println(name + "对怪物的伤害是：" + harm);
            }
        }
/**
        private void wuKongRun() {
            System.out.println(name + "以" + speed + "速度跑到黑熊精面前");
        }

        public static void main(String[] args) {
            HeiXiongJing heiXiongJing = new HeiXiongJing();
            heiXiongJing.setDefense("30");

            WuKong wuKong = new WuKong();
            wuKong.setName("下一万场雨");
            wuKong.setSpeed("100");
            wuKong.setHarm((Integer.parseInt("50") - Integer.parseInt(heiXiongJing.getDefense())) + "");
            wuKong.fixation();
        }

    }
    public class HeiXiongJing{
        /**
         * 防御
         */
        //private String ;
    }
}

